<?php

namespace App\Models\Shop;

use App\Models\BaseModel;

class SupplierModel extends BaseModel
{
    /**
     * 与模型关联的数据表。
     *
     * @var string
     */
    protected $table = 'supplier';

    /**
     * 可以被批量赋值的属性。
     *
     * @var array
     */
    protected $fillable = array(
        'name',
        'phone',
        'shop_id',
        'shop_str',
        'created_by',
        'created_by_name',
        'created_at',
        'updated_by',
        'updated_at',
        'supplier',
        'remark',
        'account_manager',
        'account_manager_id',
        'remark_name',
        'supplier_id',
        'dist_code',
        'status',
        'supplier_name'
    );
    // public $timestamps = false;

    public function aliasRable($alias)
    {
        return $this->setTable($alias);
    }

    /**
     * 查询数据需要过滤掉的属性。
     *
     * @var array
     */

    protected $hidden = array(
        'updated_at'
    );
    protected function serializeDate(\DateTimeInterface $date)
    {
        return $date->format('Y-m-d H:i:s');
    }
    //返回关键字段
    public function getTableField()
    {
        return $this->fillable;
    }
    /**
     * 建表语句
     */
    protected function buildTable($name = '')
    {
        $tablename = $this->table;
        if (!empty($name)) {
            $tablename = $name;
        }
        $table  = "CREATE TABLE IF NOT EXISTS  $tablename (
            `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
            `name` varchar(100) DEFAULT '' COMMENT '下游分销商名称',
            `phone` varchar(12) DEFAULT '' COMMENT '下游分销商联系方式',
            `shop_id` int(11) DEFAULT '0' COMMENT '店铺id',
            `shop_str` varchar(255) DEFAULT '0' COMMENT '店铺字符串 使用逗号隔开',
            `created_by` int(11) DEFAULT '0' COMMENT '创建者',
            `created_by_name` varchar(64) DEFAULT '' COMMENT '创建者名称',
            `created_at` datetime DEFAULT NULL COMMENT '创建时间',
            `updated_by` varchar(64) DEFAULT '' COMMENT '更新者',
            `updated_at` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
            `remark` varchar(500) DEFAULT NULL COMMENT '备注',
            PRIMARY KEY (`id`)
            ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT='上游表';";
        return $table;
    }
    /**
     * 插入新的字段
     */
    protected function bulidField()
    {
        //例子
        $array = [
            'supplier' => "varchar(100) DEFAULT NULL COMMENT '供应商的编码'",
            'account_manager' => "varchar(100) DEFAULT '' COMMENT '客户经理'",
            'account_manager_id' => "int(11) DEFAULT '0' COMMENT '客户经理id'",
            'remark_name' => "varchar(500) DEFAULT NULL COMMENT '备注'",
            'supplier_id' => "int(11) DEFAULT '0' COMMENT '供应商的id'",
            'supplier_name' => "varchar(500) DEFAULT '0' COMMENT '供应商的名称'",
            'dist_code' => "varchar(500) DEFAULT '' COMMENT '识别码'",
            'status' => "tinyint(1) DEFAULT '0' COMMENT '是否拉黑 1 拉黑'",
        ];
        return $array;
    }
    // 关联 role表
    public function userToRole($role)
    {
        // return $this->hasMany(Role::className(),);
    }
}
